package fr.univlille1.j2ee.livre.bean;

import fr.univlille1.j2ee.livre.Livre;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

@Stateless
public class BookFacade implements BookFacadeItf{
    
    @EJB
    private StockerItf biblio;
    
    @Override
    public void init(){
        biblio.add(new Livre("La méta-philosophie pour les nuls.", "Toto", "2013"));
        biblio.add(new Livre("La méta-physique pour les nuls.", "Toto", "2013"));
        biblio.add(new Livre("L'herborisme pour les nuls.", "Bob Marley", "1980"));
    }
    
    @Override
    public List<String> getAllAuthors(){
        Collection<Livre> books = biblio.getAllBooks();
        Collection<String> authors = new HashSet<String>();
        for(Livre b : books){
            authors.add(b.getAuteur());
        }
        return new LinkedList<String>(authors);
    }

    @Override
    public void add(Livre l) {
        this.biblio.add(l);
    }

    @Override
    public List<Livre> getBooks() {
        return new LinkedList<Livre>(biblio.getAllBooks());
    }
}